package edu.scau.cxq.gp.service;

import com.github.pagehelper.PageInfo;
import edu.scau.cxq.gp.entity.RecordOut;
import com.baomidou.mybatisplus.extension.service.IService;
import edu.scau.cxq.gp.vo.RecordOutVO;

/**
 * <p>
 * 存储出库信息 服务类
 * </p>
 *
 * @author CXQ
 * @since 2022-01-30
 */
public interface IRecordOutService extends IService<RecordOut> {

    /**
     * 出库之前的操作：包括减库存， 改变仓库空闲货架数
     */
    boolean beforeRecordOut(RecordOut recordOut);

    /**
     * 条件查找出库记录
     * @param goodsId
     * @param cusId
     * @param wareId
     * @return
     */
    PageInfo<RecordOutVO> getRecordOutVOList(Integer currentPage, Integer size, Long goodsId, Long cusId, Long wareId);

    /**
     * 撤销出库
     * @return
     * @param recordOutId
     */
    boolean rollbackRecordOut(Long recordOutId);
}
